from django.shortcuts import render,HttpResponse
from .models import Classes, Students
# Create your views here.



def add(request):
    # 先创建主表数据，再创建从表数据
    c1 = Classes(c_name='1班')
    c1.save()
    c2 = Classes(c_name='2班')
    c2.save()

    # 在绑定外键的时候，一下两种写法都是正确的。classes=c1或者classes_id=c1.id
    s1 = Students(classes=c1, s_name='张三')
    s1.save()
    s2 = Students(classes_id=c1.id, s_name='李四')
    s2.save()
    s3 = Students(classes=c1, s_name='王五')
    s3.save()
    s4 = Students(classes=c2, s_name='麻子')
    s4.save()

    return HttpResponse("添加成功")

def select(request):
    # 数据查询:
    # 1.根据主表的一条数据，查询从表的多条数据: 比如:查询1班的所有学生。
    c1 = Classes.objects.get(id=1)
    # students_set: 格式是xxx_set,是ORM自动生成的一个关联名，主要用于主表数据查从表数据。
    # 2.根据从表的一条数据，查询对应的一条主表数据: 比如: 查询"张三"所在的班级
    stus = c1.students_set.all()
    for stu in stus:
        print('姓名:{}'.format(stu.s_name))

    # 2. 根据从表的一条数据,查询对应的一条主表数据; 比如: 查询"张三" 所在的班级。
    s1 = Students.objects.get(id=1)
    # s1.classes: 获取s1关联的主表对象, 然后再用这个对象调用c_name属性。
    cls = s1.classes.c_name
    print('{}所在班级是：{}'.format(s1, cls))
    return HttpResponse("查询成功")

